\hypertarget{classProgGraph}{
\section{ProgGraph$<$ D, W $>$ Class Template Reference}
\label{classProgGraph}\index{ProgGraph@{ProgGraph}}
}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classProgGraph_1_1BFTraverse}{BFTraverse}
\item 
class \hyperlink{classProgGraph_1_1DFTraverse}{DFTraverse}
\item 
class \hyperlink{classProgGraph_1_1ProgEdge}{ProgEdge}
\item 
class \hyperlink{classProgGraph_1_1ProgExpr}{ProgExpr}
\item 
class \hyperlink{classProgGraph_1_1ProgLit}{ProgLit}
\item 
class \hyperlink{classProgGraph_1_1ProgNode}{ProgNode}
\item 
class \hyperlink{classProgGraph_1_1ProgStmt}{ProgStmt}
\item 
class \hyperlink{classProgGraph_1_1ProgVar}{ProgVar}
\end{DoxyCompactItemize}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum {\bfseries NodeType} \{ \par
{\bfseries Variable}, 
{\bfseries Literal}, 
{\bfseries Expression}, 
{\bfseries Statement}, 
\par
{\bfseries Last}
 \}
\item 
enum {\bfseries ExceptionType} \{ \par
{\bfseries NullNodeExp}, 
{\bfseries NullEdgeExp}, 
{\bfseries InconsistentNodeExp}, 
{\bfseries NoEdgeExp}, 
\par
{\bfseries WeirdExp}
 \}
\item 
\hypertarget{classProgGraph_a58494ce67b1283af8b18ec4515dff680}{
typedef vector$<$ \hyperlink{classProgGraph_1_1ProgNode}{ProgNode} $\ast$ $>$::iterator {\bfseries ProgNodeIter}}
\label{classProgGraph_a58494ce67b1283af8b18ec4515dff680}

\item 
\hypertarget{classProgGraph_acc625b59b6e447c2967006c0e652ca03}{
typedef list$<$ \hyperlink{classProgGraph_1_1ProgEdge}{ProgEdge} $\ast$ $>$::iterator {\bfseries ProgEdgeIter}}
\label{classProgGraph_acc625b59b6e447c2967006c0e652ca03}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classProgGraph_ac03c15065866523c53db272441493e39}{
bool {\bfseries compact} ()}
\label{classProgGraph_ac03c15065866523c53db272441493e39}

\item 
\hypertarget{classProgGraph_a10e6b2014cd012b54e59a30fd1dd81cd}{
\hyperlink{classProgGraph_1_1ProgNode}{ProgNode} \& {\bfseries addNode} (\hyperlink{classProgGraph_1_1ProgNode}{ProgNode} $\ast$node)}
\label{classProgGraph_a10e6b2014cd012b54e59a30fd1dd81cd}

\item 
\hypertarget{classProgGraph_a4d06e5b7ff8a5dde03a82c8b0b058d18}{
\hyperlink{classProgGraph_1_1ProgEdge}{ProgEdge} \& {\bfseries addEdge} (\hyperlink{classProgGraph_1_1ProgNode}{ProgNode} $\ast$from, \hyperlink{classProgGraph_1_1ProgNode}{ProgNode} $\ast$to, W \&w)}
\label{classProgGraph_a4d06e5b7ff8a5dde03a82c8b0b058d18}

\item 
\hypertarget{classProgGraph_aef915d1255bfc3e23d1eb750e15198d2}{
\hyperlink{classProgGraph_1_1ProgNode}{ProgNode} $\ast$ {\bfseries removeNode} (\hyperlink{classProgGraph_1_1ProgNode}{ProgNode} $\ast$node)}
\label{classProgGraph_aef915d1255bfc3e23d1eb750e15198d2}

\item 
\hypertarget{classProgGraph_a2bc3a9cf7fa324c11e3bf192f8ed5698}{
\hyperlink{classProgGraph_1_1ProgEdge}{ProgEdge} $\ast$ {\bfseries removeEdge} (\hyperlink{classProgGraph_1_1ProgEdge}{ProgEdge} $\ast$edge)}
\label{classProgGraph_a2bc3a9cf7fa324c11e3bf192f8ed5698}

\item 
\hypertarget{classProgGraph_aa0bc3fbc34604c0433d945a3cb647d98}{
void {\bfseries resetColor} ()}
\label{classProgGraph_aa0bc3fbc34604c0433d945a3cb647d98}

\item 
\hypertarget{classProgGraph_a840df1363efba69526d3db71423be538}{
void {\bfseries resetVisited} (unsigned int color)}
\label{classProgGraph_a840df1363efba69526d3db71423be538}

\item 
\hypertarget{classProgGraph_af18dd411e1da55f5bb28e52184bc7d1e}{
unsigned int {\bfseries size} () const }
\label{classProgGraph_af18dd411e1da55f5bb28e52184bc7d1e}

\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classProgGraph_acdedaf69a0c3ed4f4f316c7c6b3dcbbd}{
vector$<$ \hyperlink{classProgGraph_1_1ProgNode}{ProgNode} $\ast$ $>$ {\bfseries vertices}}
\label{classProgGraph_acdedaf69a0c3ed4f4f316c7c6b3dcbbd}

\item 
\hypertarget{classProgGraph_a337d02e361e89359702f341cd13d20d3}{
unsigned int {\bfseries numNullNodes}}
\label{classProgGraph_a337d02e361e89359702f341cd13d20d3}

\end{DoxyCompactItemize}
\subsubsection*{template$<$class D, class W$>$ class ProgGraph$<$ D, W $>$}



The documentation for this class was generated from the following file:\begin{DoxyCompactItemize}
\item 
src/graph/graph.h\end{DoxyCompactItemize}
